import 'package:boss/common/common.dart';
import 'package:boss/models/sku.dart';
import 'package:hi_common/hi_common.dart';
import 'package:flutter/material.dart';

class SkuProvider extends ChangeNotifier {
  List<Sku> skus;

  SkuProvider({List<Sku> skus, int price, int salePrice, int vipPrice}) {
    if (skus == null || skus.length == 0) {
      this.skus = [
        Sku.fromJson({'skuPrice': price, 'skuMemberPrice': vipPrice, 'skuSalePrice': salePrice})
      ];
    } else {
      this.skus = skus;
    }
  }

  addSku() {
    skus.add(Sku.fromJson({}));
    notifyListeners();
  }

  remove(Sku sku) {
    skus.remove(sku);
    notifyListeners();
  }

  bool check() {
    return skus.every((sku) {
      if (sku.skuName == '' || sku.skuName == null || sku.skuName.length > 10) {
        toast('规格名称不能为空或长度不能大于10,请检查！');
        return false;
      }

      if (Constant.isTakeout) {
        if (sku.skuPrice != null && sku.skuPrice.toString().length > 10) {
          toast('原价长度不能大于10,请检查！');
          return false;
        }

        if (sku.skuOriginalPrice == null || sku.skuOriginalPrice.toString().length > 10) {
          toast('售卖价不能为空或长度不能大于10,请检查！');
          return false;
        }
      } else {
        if (sku.skuPrice == null || sku.skuPrice.toString().length > 10) {
          toast('${Constant.isTakeout ? '原价' : '售卖价'}不能为空或长度不能大于10,请检查！');
          return false;
        }
      }

      if (sku.skuMemberPrice != null &&
          sku.skuMemberPrice.toString().length > 10) {
        toast('会员价长度不能大于10,请检查！');
        return false;
      }

      if (sku.commoditySkuCode != null && sku.commoditySkuCode.length > 50) {
        toast('商品条形码长度不能大于50,请检查！');
        return false;
      }

      return true;
    });
  }
}
